﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using QuanLyHocPhi.Model;

namespace QuanLyHocPhi.BLL
{
    partial class BizLopGoc
    {
        /// <summary>
        /// Lấy danh sách năm tuyển sinh
        /// </summary>
        /// <param name="maLoaiHinh"></param>
        /// <returns></returns>
        internal static IList<string> GetListNamTuyenSinh(string maLoaiHinh)
        {
            using (var context = new QLHPEntities())
            {
                var lstGroupNamTS = from nts in context.LopGocDbSet
                                    where nts.MaLoaiHinhDaoTao == maLoaiHinh
                                    group nts by nts.NamTuyenSinh into NamTSGroup
                                    orderby NamTSGroup.Key descending
                                    select new { NamTS = NamTSGroup.Key };
                var lstNamTS = new List<string>();
                foreach (var group in lstGroupNamTS)
                    lstNamTS.Add(group.NamTS.ToString());
                return lstNamTS;
            }
        }

        /// <summary>
        /// Lấy danh sách lớp học theo mã loại hình và năm tuyển sinh
        /// </summary>
        /// <param name="maLoaiHinh"></param>
        /// <param name="namTuyenSinh"></param>
        /// <returns></returns>
        internal static List<LopGoc> GetListLopGoc(string maLoaiHinh, string namTuyenSinh)
        {
            using (var context = new QLHPEntities())
            {
                var lt = from l in context.LopGocDbSet
                         where l.MaLoaiHinhDaoTao == maLoaiHinh && l.NamTuyenSinh == namTuyenSinh
                         orderby l.TenLopGoc ascending
                         select l;
                return lt.ToList();
            }
        }

        internal static List<LopGoc> GetListLopGoc()
        {
            using (var context = new QLHPEntities())
            {
                var lt = from l in context.LopGocDbSet.Include("LoaiHinhDaoTao")
                         orderby l.TenLopGoc ascending
                         select l;
                return lt.ToList();
            }
        }
    }
}
